﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using Model;
using Interface;


namespace Model
{
    public class MedarbejderColl
    {
        /********** ATTRIBUTES **********/
        List<Medarbejder> medarbejdListe;

        /********** CONSTRUCTOR **********/

        public MedarbejderColl(IEnumerable<Medarbejder> medarbejdere)
        {
            medarbejdListe = medarbejdere.ToList();
        }


        public void CreateMedarbejder(int medarbejderId, string medarbejderNavn, int cprNr, byte[] billede, bool aktiv, DateTime ansættelsesDato, int ansættelsesTimer, string bemærkninger)
        {


            medarbejdListe.Add(new Medarbejder(medarbejderId, medarbejderNavn, cprNr, billede, aktiv, ansættelsesDato, ansættelsesTimer, bemærkninger));
            
        }

        public void UpdateMedarbejdeliste(int medarbejderId, string medarbejderNavn, int cprNr, byte[] billede, bool aktiv, DateTime ansættelsesDato, int ansættelsesTimer, string bemærkninger)
        {
            Medarbejder m = ReadMedarbejder(medarbejderId);
            m.MedarbejderId = medarbejderId;
            m.MedarbejderNavn = medarbejderNavn;
            m.CprNr = cprNr;
            m.Billede = billede;
            m.Aktiv = aktiv;
            m.AnsætelsesDato = ansættelsesDato;
            m.AnsættelsesTimer = ansættelsesTimer;
            m.Bemærkninger = bemærkninger;


        }

        public Medarbejder ReadMedarbejder(int medarbejderId)
        {
            foreach (Medarbejder m in medarbejdListe)
            {
                if (m.MedarbejderId == medarbejderId)
                {
                    return m;
                }
            }
            return null;
        }

        public List<Medarbejder> Medarbejder
        {
            get { return medarbejdListe; }
        }


        public Medarbejder FindMedarbejder(int medarbejderId)
        {
            bool fundet = false;
            int i = 0;

            while (!fundet)
            {
                if (Medarbejder[i].MedarbejderId == medarbejderId)
                    fundet = true;
                else
                    i++;

            }
            return medarbejdListe[i];
        }
       
        public IEnumerable<Medarbejder> getImedarbejder()
        {
            return medarbejdListe;
        }
    }
}
    




        /**********  Properties  ***********/
    

